package lixeiro.principal;


import javax.swing.JOptionPane;

import lixeiro.exception.LixeiraCheiaException;
import lixeiro.lix.Lixeira;
import lixeiro.lix.Lixo;

public class Lixeiro {

	public static void main(String[] args) {
		
		int opcao = 0;
		String tamanho, nomeLixo, nome;
		String menu = "1 - Inseir lixo" +
                "\n 2 - Capacidade total da lixeira" +
                "\n 3 - Capacidade usada da lixeira" +
                "\n 4 - Remover lixo" +
                "\n 5 - Todos os lixos da lixeira" +
                "\n 6 - Sair";
		
		Lixeira lixeira = new Lixeira(100);
		
		do{
			
			opcao = Integer.parseInt(JOptionPane.showInputDialog(menu));
			
			switch (opcao) {
			case 1 :
				nomeLixo = JOptionPane.showInputDialog("Informe o nome do lixo");
				tamanho = JOptionPane.showInputDialog("Informe o tamanho do lixo");
				try{
					lixeira.jogar(new Lixo(nomeLixo, Double.parseDouble(tamanho)));
				}catch(LixeiraCheiaException e){
					JOptionPane.showMessageDialog(null, e.getMessage());
				}
				break;
			case 2 :
				double capacidadeTotal = lixeira.getCapacidadeTotal();
				JOptionPane.showMessageDialog(null, "Capacidade da lixeira - " + capacidadeTotal);
				break;
			case 3 :
				double capacidadeUsada = lixeira.getCapacidadeUsada();
				JOptionPane.showMessageDialog(null, "Capacidade usada - " + capacidadeUsada);
				break;
			case 4 :
				nome = JOptionPane.showInputDialog("Informe o nome do lixo que deseja remover: ");
				lixeira.removeLixo(nome);
				break;
			case 5 :
				if (lixeira.getCapacidadeUsada() > 0)
					JOptionPane.showMessageDialog(null, lixeira.showAllLixo());
				else
					JOptionPane.showMessageDialog(null, "Lixeira vazia");
				break;
			case 6 :
				break;
			}				
		}while(opcao != 6);
	}
}